package br.edu.udc.sistemas.ia5.dao;

import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Vector;

import br.edu.udc.sistemas.ia5.database.Database;
import br.edu.udc.sistemas.ia5.entity.Modelo;
import br.edu.udc.sistemas.ia5.entity.Produto;

public class DaoProduto extends Dao{
	
	public DaoProduto() throws Exception {
		super();
	}
	
//	public void save(Produto produto){		
//		String sql;
//		if (this.findByPrimaryKey(produto) == null){
//			sql = "insert into Produto (idProduto, descricao, qtd, unidade, valor, idModelo) "
//					+ "values ("+produto.getId()+", '"+produto.getDescricao()+"', "+produto.getQtd()+", '"+
//					produto.getUnidade()+"', "+produto.getValor()+", "+produto.getModelo().getId()+")";
//		} else {
//			sql = "update Produto set descricao = '"+produto.getDescricao()+"', qtd = "+produto.getQtd()+
//					", unidade = '"+produto.getUnidade()+"', valor = "+produto.getValor()+", idModelo = "+produto.getModelo().getId()+
//					" where idProduto = "+produto.getId();
//		}
//		Database database = new Database();
//		try {
//			Statement stmt = database.getConnection().createStatement();
//			stmt.executeUpdate(sql);
//			database.getConnection().commit();
//		} catch (Exception e) {
//			// TODO: handle exception
//			e.printStackTrace();
//		}
//
//	}
//	
//	public void delete(Produto produto){		
//		if ((produto != null) && (produto.getId() != null)){
//			Database database = new Database();
//			try {
//				Statement stmt = database.getConnection().createStatement();
//				String sql = "delete from Produto where idProduto = "+produto.getId();
//				stmt.executeUpdate(sql);
//				database.getConnection().commit();
//			} catch (Exception e) {
//				// TODO: handle exception
//				e.printStackTrace();
//			}
//		}
//	}
//	
//	public Produto[] find(Produto produto){
//		try {
//			String sql = "select idProduto, descricao, unidade, qtd, valor, idModelo from Produto";
//			if (produto != null){
//				boolean bWhere = false;
//				if ((produto.getId() != null) && (produto.getId() > 0)) {
//					sql += " where idProduto = "+produto.getId();
//					bWhere = true;
//				}
//				if ((produto.getDescricao() != null) && (!produto.getDescricao().equals(""))){
//					if (bWhere){
//						sql += " and";
//					} else { 
//						sql += " where ";
//						bWhere = true;
//					}
//					sql += " descricao = '%"+produto.getDescricao()+"%'";					
//				}	
//				if ((produto.getModelo() != null) && (produto.getModelo().getId() != null)){
//					if (bWhere){
//						sql += " and";
//					} else { 
//						sql += " where ";
//					}
//					sql += " idModelo = "+produto.getModelo().getId();					
//				}
//			}
//			Database database = new Database();
//			Statement stmt = database.getConnection().createStatement();
//			ResultSet rst = stmt.executeQuery(sql);
//			Vector vetor = new Vector();
//			while (rst.next()){
//				Produto produtoAux = new Produto();
//				produtoAux.setId(rst.getInt("idProduto"));
//				produtoAux.setDescricao(rst.getString("descricao"));
//				produtoAux.setQtd(rst.getInt("qtd"));
//				produtoAux.setUnidade(rst.getString("unidade"));
//				produtoAux.setValor(rst.getDouble("valor"));
//				produtoAux.setModelo(new Modelo());
//				produtoAux.getModelo().setId(rst.getInt("idModelo"));
//				vetor.add(produtoAux);
//			}
//			return (Produto[]) vetor.toArray(new Produto[vetor.size()]);
//			
//		} catch (Exception e) {
//			// TODO: handle exception
//			e.printStackTrace();
//			return null;
//		}
//	
//	
//	}
//	
//	public Produto findByPrimaryKey(Produto produto){
//		if ((produto != null) && (produto.getId() != null)){
//			Produto produtoAux = new Produto();
//			produtoAux.setId(produto.getId());
//			Produto lista[] = this.find(produtoAux);
//			if (lista.length > 0){
//				return lista[0];
//			}
//		}
//		return null;
//	}
}
